﻿package com.amcharts.axes
{
    import com.amcharts.geom.*;
    import flash.display.*;
    import mx.core.*;

    public class RectangularAxisRenderer extends Object
    {
        private var _axisWidth:Number;
        private var _axisTitle:IUITextField;

        public function RectangularAxisRenderer(param1:AxisBase)
        {
            var _loc_2:Line = null;
            var _loc_16:Number = NaN;
            var _loc_17:Number = NaN;
            var _loc_18:UITextFormat = null;
            var _loc_19:String = null;
            var _loc_20:Object = null;
            var _loc_21:Object = null;
            var _loc_3:* = param1.axis;
            var _loc_4:* = param1.getStyle("axisThickness");
            var _loc_5:* = param1.getStyle("axisColor");
            var _loc_6:* = param1.getStyle("axisAlpha");
            var _loc_7:* = param1.getStyle("tickLength");
            var _loc_8:* = param1.offset;
            var _loc_9:* = param1.dx;
            var _loc_10:* = param1.dy;
            var _loc_11:* = param1.title;
            var _loc_12:* = param1.visibleAxisX;
            var _loc_13:* = param1.visibleAxisY;
            var _loc_14:* = param1.visibleAxisHeight;
            var _loc_15:* = param1.visibleAxisWidth + 1;
            if (_loc_11)
            {
                _axisTitle = param1.createTextField();
                _loc_18 = param1.determineTextFormatFromStyles();
                _loc_19 = _loc_18.align;
                _loc_20 = _loc_18.size;
                _loc_21 = _loc_18.color;
                _loc_18.align = param1.titleAlignment;
                _loc_18.size = param1.titleTextSize;
                _loc_18.color = param1.titleTextColor;
                _axisTitle.defaultTextFormat = _loc_18;
                _axisTitle.text = _loc_11;
                _axisTitle.selectable = false;
                _axisTitle.setTextFormat(_loc_18);
                _axisTitle.antiAliasType = _loc_18.antiAliasType;
                _axisTitle.gridFitType = _loc_18.gridFitType;
                _axisTitle.sharpness = _loc_18.sharpness;
                _axisTitle.thickness = _loc_18.thickness;
                if (param1.systemManager)
                {
                }
                _axisTitle.embedFonts = param1.systemManager.isFontFaceEmbedded(_loc_18);
                _loc_3.addChild(DisplayObject(_axisTitle));
                _loc_18.align = _loc_19;
                _loc_18.size = _loc_20;
                _loc_18.color = _loc_21;
            }
            if (param1.orientation == "horizontal")
            {
                _loc_2 = new Line([0, _loc_15], [0, 0], _loc_5, _loc_6, _loc_4);
                _axisWidth = param1.width;
                if (_axisTitle)
                {
                    _axisTitle.width = _loc_15 + 3;
                }
                if (param1.position == "bottom")
                {
                    _loc_17 = _loc_4 / 2 + _loc_8 + _loc_14 + _loc_13 - 1;
                    _loc_16 = 0;
                    _loc_3.y = _loc_17;
                    _loc_3.x = _loc_16 + _loc_12;
                }
                else
                {
                    _loc_17 = (-_loc_4) / 2 - _loc_8 + _loc_10 + _loc_13;
                    _loc_16 = _loc_9;
                    _loc_3.y = _loc_17;
                    _loc_3.x = _loc_16 + _loc_12;
                }
            }
            else
            {
                if (_axisTitle)
                {
                    _axisTitle.width = _loc_14 + 3;
                    _axisTitle.rotation = -90;
                    _axisTitle.y = _loc_14;
                }
                _loc_2 = new Line([0, 0], [0, _loc_14], _loc_5, _loc_6, _loc_4);
                _axisWidth = param1.height;
                if (param1.position == "right")
                {
                    _loc_17 = _loc_10;
                    _loc_16 = _loc_4 / 2 + _loc_8 + _loc_9 + _loc_15 + _loc_12;
                    _loc_3.y = _loc_17 + _loc_13;
                    _loc_3.x = _loc_16;
                }
                else
                {
                    _loc_17 = 0;
                    _loc_16 = (-_loc_4) / 2 - _loc_8 + _loc_12;
                    _loc_3.y = _loc_17 + param1.visibleAxisY;
                    _loc_3.x = _loc_16;
                }
            }
            param1.values.y = _loc_17;
            param1.values.x = _loc_16;
            param1.ticks.y = _loc_17;
            param1.ticks.x = _loc_16;
            _loc_3.addChild(_loc_2);
            return;
        }// end function

        public function get axisWidth() : Number
        {
            return _axisWidth;
        }// end function

        public function get axisTitle() : IUITextField
        {
            return _axisTitle;
        }// end function

    }
}
